import type { Unit, Item, ItemTypeRef } from './common'
// 分拣任务单
// 业务日期区间接口
export interface BusinessDate {
	begin: string
	end: string
}
export interface FilterInOrgan {
	id: string
	name: string
}
// 入库单筛选条件接口
export interface SortationTaskFilterData {
	businessDate: string[]
	detailInOrganId: string[]
}
// 获取分拣任务单主表参数接口
export interface SortationTaskBillPageParams {
	page: number
	rows: number
	r: {
		createDate: string[]
	}
	i: {
		sortState: (number | string)[]
	},
	ri: {
		'detail-inOrganId': (number | string)[]
	},
	l: {
		sysBillCode: string
	}
}
// 单据详情接口
export interface BillDetail {
	// 系统单号
	sysBillCode: string
	// 分拣状态
	sortState: string
	// 分拣方法
	sortMethod: string
	// 分拣方式
	sortMode: string
	// 分拣策略
	sortStrategy: string
	// 任务分派方式
	allocationType: string
	// 品项数
	detailSize: number
	// 入库方数量
	inOrganSize: number
	// 入库方名称
	inOrganName: string
	// 作业人
	workMan: {
		// 名称
		name: string
	}
	// 修改人
	modifyManName: string
	// 修改时间
	modifyDate: string
	// 出库方
	outOrgan: {
		// id
		id: string
		// 名称
		name: string
	}
	// 任务生成日期
	createDate: string
	// 预计发货日期
	expectedDeliveryDate: string
	// 最晚到货时间
	latestDeliveryDate: string
	// 创建人
	createManName: string
	// 是否可进入线路投箱标记
	lineBoxDisplayFlag: boolean
	// 线路名称
	lineRouteName: string,
	lineRoute: {
		id: string,
		name: string
	}
}
// 主表明细接口
export interface ListItem {
	id: string,
	checked: boolean,
	batchCode: string,
	sortState: string
}
// 品项分类接口
export interface ItemTypeTreeItem {
	id: string,
	name: string
	children?: ItemTypeTreeItem[]
}
// 分拣品项接口
export interface SortingItem {
	// 品项
	mitem: Item
	// 出库仓库
	outHouse: {
		// id
		id: string
		// 名称
		name: string
	}
	// 需要分拣的品项数
	allOrganSize: number
	// 已经分拣的品项数
	sortedOrganSize: number
	// id
	treeId: string
}
// 分拣明细接口
export interface SortingLineOrgan {
	// id
	id: string
	// 分拣状态
	sortState: string
	// 品项
	item: Item
	// 应拣数量
	shouldSortTotal: number
	// 已拣数量
	alreadySortTotal: number
	// 称重记录
	weighRecords?: object[]
	// 称重图片
	weighImages?: object[]
	// 备注
	memo: string
	// 称重标记
	weighCountFlag: number
	// 单位
	unit: Unit
	// 入库方
	inOrgan: {
		// 姓名
		name: string
	}
	// 入库仓库
	inHouse: {
		name: string
	}
	// 出库仓库
	outHouse: {
		name: string
	}
	// 品项类型
	itemType: ItemTypeRef
	// 来源单号
	sourceCodes: string
	// 取货标记
	outStockFlag?: number
}

// 整体分拣明细接口
export interface SortingByIntegralDetailItem {
	// 选中状态
	checked: boolean,
	// id
	id: string
	// 品项
	item: Item
	// 出库仓库
	outHouse: {
		id: string
		name: string
	}
	// 称重记录
	weighRecords?: object[]
	// 称重图片
	weighImages?: object[]
	// 已拣数量
	alreadySortTotal: number
	// 备注
	memo: string
	// 称重标记
	weighCountFlag: number
	// 单位
	unit: Unit
	// 分拣状态
	sortState: string
	// 提交状态
	submitFlag: number
}
